Dynamic Path Reduction for Software Model Checking
نویسندگان
چکیده
We present the new technique of dynamic path reduction (DPR), which allows one to prune redundant paths from the state space of a program under verification. DPR is a very general technique which we consider here in the context of the bounded model checking of sequential programs with nondeterministic conditionals. The DPR approach is based on the symbolic analysis of concrete executions. For each explored execution path π that does not reach an abort statement, we repeatedly apply a weakest-precondition computation to accumulate the constraints associated with an infeasible sub-path derived from π by taking the alternative branch to an if-then-else statement. We then use an SMT solver to learn the minimally unsatisfiable core of these constraints. By further learning the statements in π that are critical to the sub-path’s infeasibility as well as the control-flow decisions that must be taken to execute these statements, unexplored paths containing the same unsatisfiable core can be efficiently and dynamically pruned. Our preliminary experimental results show that DPR can prune a significant percentage of execution paths, a percentage that grows with the size of the instance of the problem being considered.
منابع مشابه
Exploiting Syntactic Structure for
Introduction Model Checking Techniques Hardware Veri cation Software Veri cation Overview of this work Model Checking for Temporal Logics Models of Systems Speci cations Model Checking Exploiting Structure in Software Veri cation The Structure of Programs Non deterministic While Programs Control Flow Graphs Semantics of Programs Modular Model Checking Partition Graphs Operations on Assumption F...
متن کاملOptimal Control of the Vehicle Path Following by Using Image Processing Approach
Nowadays, the importance of the vehicles and its dramatic effects on human life is no secret. The use of trailers with multiple axels for transporting bulky and heavy equipment is essential. Increase in trailers axles which results increment of wheels, needs considerations in order to increase in transporting speed, maneuverability, safety, better control and path following accurately. Therefo...
متن کاملOn-the-Fly Dynamic Dead Variable Analysis
ON-THE-FLY DYNAMIC DEAD VARIABLE ANALYSIS Joel Self Department of Computer Science Master of Science State explosion in model checking continues to be the primary obstacle to widespread use of software model checking. The large input ranges of variables used in software is the main cause of state explosion. As software grows in size and complexity the problem only becomes worse. As such, model ...
متن کاملUsing Static and Dynamic Escape Analysis To Enable Model Reductions in Model-Checking Concurrent Object-Oriented Programs
This paper proposes several partial order reduction strategies for model-checking concurrent object-oriented software that are based on detecting heap objects that are thread-local, i.e., reachable from a single thread only. We show how thread-local information appropriate for driving these reductions can be obtained by static analysis (using adaptations of existing escape analyses). However, w...
متن کاملCompiler-Assisted Software Model Checking and Monitoring
of the Dissertation Compiler-Assisted Software Model Checking and Monitoring by Xiaowan Huang Doctor of Philosophy in Computer Science Stony Brook University 2010 In this dissertation we present a compiler-assisted execution-based software model checking method targeting all languages that are acceptable by the compiler. We treat the intermediate representation of the program under compilation ...
متن کامل